Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Розв’язування системи лінійних рівнянь.

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Програмного забезпечення (ПЗ)

Інформація про роботу

Рік:
2008
Тип роботи:
Лабораторна робота
Предмет:
Чисельні методи в інформатиці
Група:
КН-3

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ Національний університет Львівська політехніка Кафедра ПЗ До лабораторної роботи № 2 З курсу “Чисельні методи” На тему: “ Розв’язування системи лінійних рівнянь ”. Виконав: Студент групи КН-3 Львів – 2008 Тема: Розв’язування системи лінійних рівнянь. Мета: Оволодіти засобами розв’язування системи лінійних рівнянь за допомогою різних методів .  Знайти розв’язок системи лінійних рівнянь з точністю до 10-3 методом Гаусса та методом LU-розкладу, порівняти результати, а також обчислити детермінант матриці коефіцієнтів та обернену до неї матрицю. Варіанти завдань:   В процесі розроблення лабораторної роботи було розроблено наступний програмний продукт:  //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" float *Gaus(float[3][4]); float *LU(float[3][3]); float *Iter(float[3][4], float); float det(float[3][3]); float *matr(float[3][4]); float A[3][3] = {{0.34, 0.71, 0.63}, {0.71, -0.65, -0.18}, {1.17, -2.35, 0.75} }; float B[] = {2.08, 0.17, 1.28 }; float AB[3][4] = {0.34, 0.71, 0.63, 2.08, 0.71, -0.65, -0.18, 0.17, 1.17, -2.35, 0.75, 1.28 }; TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- /*float *Gaus(float AB[3][4]) { float result[3], t1, t2; int i, j; t1 = AB[0][0]; for(i=0; i<4; i++) AB[0][i] = AB[0][i]/t1; t1 = AB[1][0]; t2 = AB[2][0]; for(i=0; i<4; i++) { AB[1][i] = AB[1][i] - AB[0][i]*t1; AB[2][i] = AB[2][i] - AB[0][i]*t2; } t1 = AB[1][1]; for(i=0; i<4; i++) AB[1][i] = AB[1][i]/t1; t1 = AB[2][1]; for(i=0; i<4; i++) AB[2][i] = AB[2][i] - AB[1][i]*t1; result[2] = AB[2][3]/AB[2][2]; result[1] = AB[1][3] - AB[1][2]*result[2]; result[0] = AB[0][3] - AB[0][2]*result[2] - AB[0][1]*result[1]; return result; } */ float *Gaus(float a[3][4]) { const n = 3; int l, i, k; float c, s; // float a[n][m]; float x[n]; /* for(i=0; i<n; i++) for(k=0; k<m; k++) scanf("%f", &a[i][k]);*/ for(l=0; l<n-1; l++) { c = a[l][l]; for(k=l+1; k<n+1; k++) { a[l][k] = -a[l][k]/c; for(i=l+1; i<n; i++) a[i][k] = a[i][k] + a[i][l]*a[l][k]; } } x[n-1] = a[n-1][n]/a[n-1][n-1]; for(i=n-2; i>=0; i--) { s =- a[i][n]; for(k=i+1; k<n; k++) s = s + a[i][k]*x[k]; x[i] = s; } return x; } float *LU(float A[3][3]) { const N=3; float L[N][N]; float U[N][N]; int i, j, k; float temp; float result[3]; for(i=0; i<N; i++) U[0][i] = A[0][i]; if(U[0][0] == 0) return NULL; for(i=1; i<N; i++) L[i][0] = A[i][0] / A[0][0]; for(i=1; i<N; i++) { for(j=0; j<N; j++) { if(j < i)U[i][j] = 0.0; else { temp = 0.0; for(k = 0; k < i; k++) temp += L[i][k] * U[k][j]; U[i][j] = A[i][j] - temp; } } for(j = 0; j < N; j++) { if(j < i + 1) { if(j == i) { L[j][i] = 1.0; } else { L[j][i] = 0.0; } } else { temp = 0.0; for(k = 0; k < i; k++) { temp += L[j][k] * U[k][i]; } if(U[i][i] != 0) { L[j][i] = (1 / U[i][i]) * (A[j][i] - temp); ...
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини